home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / emacs / emacs1857 / bin_d2.zoo / lisp / loaddefs.el < prev    next >
Lisp/Scheme  |  1991-12-02  |  72KB  |  1,942 lines

  1. ;; Define standard autoloads and keys of other files, for Emacs.
  2. ;; Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
  3.  
  4. ;; This file is part of GNU Emacs.
  5.  
  6. ;; GNU Emacs is free software; you can redistribute it and/or modify
  7. ;; it under the terms of the GNU General Public License as published by
  8. ;; the Free Software Foundation; either version 1, or (at your option)
  9. ;; any later version.
  10.  
  11. ;; GNU Emacs is distributed in the hope that it will be useful,
  12. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ;; GNU General Public License for more details.
  15.  
  16. ;; You should have received a copy of the GNU General Public License
  17. ;; along with GNU Emacs; see the file COPYING.  If not, write to
  18. ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. ;;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  21. ;;; Special formatting conventions are used in this file!
  22. ;;;
  23. ;;; a backslash-newline is used at the beginning of a documentation string
  24. ;;; when that string should be stored in the file etc/DOCnnn, not in core.
  25. ;;;
  26. ;;; Such strings read into Lisp as numbers (during the pure-loading phase).
  27. ;;;
  28. ;;; But you must obey certain rules to make sure the string is understood
  29. ;;; and goes into etc/DOCnnn properly.  Otherwise, the string will not go
  30. ;;; anywhere!
  31. ;;;
  32. ;;; The doc string must appear in the standard place in a call to
  33. ;;; defun, autoload, defvar or defconst.  No Lisp macros are recognized.
  34. ;;; The open-paren starting the definition must appear in column 0.
  35. ;;;
  36. ;;; In defvar and defconst, there is an additional rule:
  37. ;;; The double-quote that starts the string must be on the same
  38. ;;; line as the defvar or defconst.
  39. ;;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  40.  
  41. ;; Know which function the debugger is!
  42. (setq debugger 'debug)
  43.  
  44. (defconst mode-line-buffer-identification (purecopy '("Emacs: %17b")) "\
  45. Mode-line control for identifying the buffer being displayed.
  46. Its default value is \"Emacs: %17b\".  Major modes that edit things
  47. other than ordinary files may change this (e.g. Info, Dired,...)")
  48.  
  49. (make-variable-buffer-local 'mode-line-buffer-identification)
  50.  
  51. (defconst mode-line-process nil "\
  52. Mode-line control for displaying info on process status.
  53. Normally nil in most modes, since there is no process to display.")
  54.  
  55. (make-variable-buffer-local 'mode-line-process)
  56.  
  57. (defconst mode-line-modified (purecopy '("--%1*%1*-")) "\
  58. Mode-line control for displaying whether current buffer is modified.")
  59.  
  60. (make-variable-buffer-local 'mode-line-modified)
  61.  
  62. (setq-default mode-line-format
  63.   (list (purecopy "")
  64.    'mode-line-modified
  65.    'mode-line-buffer-identification
  66.    (purecopy "   ")
  67.    'global-mode-string
  68.    (purecopy "   %[(")
  69.    'mode-name 'minor-mode-alist "%n" 'mode-line-process
  70.    (purecopy ")%]----")
  71.    (purecopy '(-3 . "%p"))
  72.    (purecopy "-%-")))
  73.  
  74. (defvar minor-mode-alist nil "\
  75. Alist saying how to show minor modes in the mode line.
  76. Each element looks like (VARIABLE STRING);
  77. STRING is included in the mode line iff VARIABLE's value is non-nil.")
  78. (setq minor-mode-alist (mapcar 'purecopy
  79.                    '((abbrev-mode " Abbrev")
  80.                  (overwrite-mode " Ovwrt")
  81.                  (auto-fill-hook " Fill")
  82.                  ;; not really a minor mode...
  83.                  (defining-kbd-macro " Def"))))
  84.  
  85. (defconst function-keymap (make-sparse-keymap) "\
  86. Keymap containing definitions of keypad and function keys.")
  87.  
  88. ;; These variables are used by autoloadable packages.
  89. ;; They are defined here so that they do not get overridden
  90. ;; by the loading of those packages.
  91.  
  92. (defconst paragraph-start "^[ \t\n\f]" "\
  93. *Regexp for beginning of a line that starts OR separates paragraphs.")
  94. (defconst paragraph-separate "^[ \t\f]*$" "\
  95. *Regexp for beginning of a line that separates paragraphs.
  96. If you change this, you may have to change paragraph-start also.")
  97.  
  98. (defconst sentence-end   (purecopy "[.?!][]\"')}]*\\($\\|\t\\|  \\)[ \t\n]*") "\
  99. *Regexp describing the end of a sentence.
  100. All paragraph boundaries also end sentences, regardless.")
  101.  
  102. (defconst page-delimiter "^\014" "\
  103. *Regexp describing line-beginnings that separate pages.")
  104.  
  105. (defconst case-replace t "\
  106. *Non-nil means query-replace should preserve case in replacements.")
  107.  
  108. ;; indent.el may not be autoloading, but it still loses
  109. ;; if lisp-mode is ever called before this defvar is done.
  110. (defvar indent-line-function 'indent-to-left-margin "\
  111. Function to indent current line.")
  112.  
  113. (defconst only-global-abbrevs nil "\
  114. *t means user plans to use global abbrevs only.
  115. Makes the commands to define mode-specific abbrevs define global ones instead.")
  116.  
  117. ;; Names in directory that end in one of these
  118. ;; are ignored in completion,
  119. ;; making it more likely you will get a unique match.
  120. (setq completion-ignored-extensions
  121.       (if (eq system-type 'vax-vms)
  122.       '(".obj" ".elc" ".exe" ".bin" ".lbin"
  123.         ".dvi" ".toc" ".log" ".aux"
  124.         ".lof" ".brn" ".rnt" ".mem" ".lni" ".lis"
  125.         ".olb" ".tlb" ".mlb" ".hlb" ".glo" ".idx" ".lot")
  126.     '(".o" ".elc" "~" ".bin" ".lbin" ".fasl"
  127.       ".dvi" ".toc" ".log" ".aux"
  128.       ".lof" ".blg" ".bbl" ".glo" ".idx" ".lot")))
  129.  
  130. (defvar compile-command "make -k" "\
  131. *Last shell command used to do a compilation; default for next compilation.")
  132.  
  133. (defvar dired-listing-switches "-al" "\
  134. *Switches passed to ls for Dired.  MUST contain the `l' option.
  135. MUST NOT contain the `F, `s' or `i'' option.")
  136.  
  137. (defconst lpr-switches nil "\
  138. *List of strings to pass as extra switch args to lpr when it is invoked.")
  139.  
  140. (defvar tags-file-name nil "\
  141. *File name of tag table.
  142. To switch to a new tag table, setting this variable is sufficient.
  143. Use the `etags' program to make a tag table file.")
  144.  
  145. (defconst shell-prompt-pattern "^[^#$%>]*[#$%>] *" "\
  146. *Regexp used by Newline command in shell mode to match subshell prompts.
  147. Anything from beginning of line up to the end of what this pattern matches
  148. is deemed to be prompt, and is not reexecuted.")
  149.  
  150. (defconst ledit-save-files t "\
  151. *Non-nil means Ledit should save files before transferring to Lisp.")
  152. (defconst ledit-go-to-lisp-string "%?lisp" "\
  153. *Shell commands to execute to resume Lisp job.")
  154. (defconst ledit-go-to-liszt-string "%?liszt" "\
  155. *Shell commands to execute to resume Lisp compiler job.")
  156.  
  157. (defconst display-time-day-and-date nil "\
  158. *Non-nil means M-x display-time should display day and date as well as time.")
  159.  
  160. ;;; Determine mode according to filename
  161.  
  162. (defvar auto-mode-alist nil "\
  163. Alist of filename patterns vs corresponding major mode functions.
  164. Each element looks like (REGEXP . FUNCTION).
  165. Visiting a file whose name matches REGEXP causes FUNCTION to be called.")
  166. (setq auto-mode-alist (mapcar 'purecopy
  167.                   '(("\\.text$" . text-mode)
  168.                 ("\\.c$" . c-mode)
  169.                 ("\\.h$" . c-mode)
  170.                 ("\\.tex$" . TeX-mode)
  171.                 ("\\.el$" . emacs-lisp-mode)
  172.                 ("\\.scm$" . scheme-mode)
  173.                 ("\\.l$" . lisp-mode)
  174.                 ("\\.lisp$" . lisp-mode)
  175.                 ("\\.f$" . fortran-mode)
  176.                 ("\\.mss$" . scribe-mode)
  177.                 ("\\.pl$" . prolog-mode)
  178. ;;; Less common extensions come here
  179. ;;; so more common ones above are found faster.
  180.                 ("\\.TeX$" . TeX-mode)
  181.                 ("\\.sty$" . LaTeX-mode)
  182.                 ("\\.bbl$" . LaTeX-mode)
  183.                 ("\\.bib$" . text-mode)
  184.                 ("\\.article$" . text-mode)
  185.                 ("\\.letter$" . text-mode)
  186.                 ("\\.texinfo$" . texinfo-mode)
  187.                 ("\\.lsp$" . lisp-mode)
  188.                 ("\\.prolog$" . prolog-mode)
  189.                 ;; Mailer puts message to be edited in /tmp/Re.... or Message
  190.                 ("^/tmp/Re" . text-mode)
  191.                 ;; some news reader is reported to use this
  192.                 ("^/tmp/fol/" . text-mode)
  193.                 ("/Message[0-9]*$" . text-mode)
  194.                 ("\\.y$" . c-mode)
  195.                 ("\\.cc$" . c-mode)
  196.                 ("\\.scm.[0-9]*$" . scheme-mode)
  197.                 ;; .emacs following a directory delimiter
  198.                 ;; in either Unix or VMS syntax.
  199.                 ("[]>:/]\\..*emacs" . emacs-lisp-mode)
  200.                 ("\\.ml$" . lisp-mode))))
  201.  
  202. (make-variable-buffer-local 'indent-tabs-mode)
  203.  
  204. (defvar ctl-x-4-map (make-keymap) "\
  205. Keymap for subcommands of C-x 4")
  206.  
  207. ;; Reduce total amount of space we must allocate during this function
  208. ;; that we will not need to keep permanently.
  209. (garbage-collect)
  210.  
  211. ;; Autoload random libraries.
  212. ;; Alphabetical order by library name.
  213.  
  214. (autoload 'add-change-log-entry "add-log"
  215.   "\
  216. Find change log file and add an entry for today.
  217. First arg (interactive prefix) non-nil means prompt for user name and site.
  218. Second arg is file name of change log.
  219. Optional third arg OTHER-WINDOW non-nil means visit in other window."
  220.   t)
  221.  
  222. (define-key ctl-x-4-map "a" 'add-change-log-entry-other-window)
  223.  
  224. (autoload 'add-change-log-entry-other-window "add-log"
  225.   "\
  226. Find change log file in other window, and add an entry for today."
  227.   t)
  228.  
  229. (autoload '\` "backquote"
  230.   "\
  231. \(` FORM) Expands to a form that will generate FORM.
  232. FORM is `almost quoted' -- see backquote.el for a description."
  233.   nil t)
  234.  
  235. (autoload 'byte-compile-file "bytecomp"
  236.   "\
  237. Compile a file of Lisp code named FILENAME into a file of byte code.
  238. The output file's name is made by appending \"c\" to the end of FILENAME."
  239.   t)
  240.  
  241. (autoload 'byte-recompile-directory "bytecomp"
  242.   "\
  243. Recompile every .el file in DIRECTORY that needs recompilation.
  244. This is if a .elc file exists but is older than the .el file.
  245. If the .elc file does not exist, offer to compile the .el file
  246. only if a prefix argument has been specified."
  247.   t)
  248.  
  249. (autoload 'batch-byte-compile "bytecomp"
  250.   "\
  251. Runs byte-compile-file on the files remaining on the command line.
  252. Must be used only with -batch, and kills emacs on completion.
  253. Each file will be processed even if an error occurred previously.
  254. For example, invoke \"emacs -batch -f batch-byte-compile $emacs/ ~/*.el\""
  255.   nil)
  256.  
  257. (autoload 'calendar "cal"
  258.   "\
  259. Display three-month calendar in another window.
  260. The three months appear side by side, with the current month in the middle
  261. surrounded by the previous and next months.  The cursor is put on today's date.
  262.  
  263. An optional prefix argument ARG causes the calendar displayed to be
  264. ARG months in the future if ARG is positive or in the past if ARG is
  265. negative; in this case the cursor goes on the first day of the month.
  266.  
  267. The Gregorian calendar is assumed.
  268.  
  269. After preparing the calendar window, the hooks calendar-hook are run
  270. when the calendar is for the current month--that is, the was no prefix
  271. argument.  If the calendar is for a future or past month--that is, there
  272. was a prefix argument--the hooks offset-calendar-hook are run.  Thus, for
  273. example, setting calendar-hooks to 'star-date will cause today's date to be
  274. replaced by asterisks to highlight it in the window."
  275.   t)
  276.  
  277. (autoload 'list-command-history "chistory"
  278.   "\
  279. List history of commands typed to minibuffer.
  280. The number of commands listed is controlled by  list-command-history-max.
  281. Calls value of  list-command-history-filter  (if non-nil) on each history
  282. element to judge if that element should be excluded from the list.
  283.  
  284. The buffer is left in Command History mode."
  285.   t)
  286.  
  287. (autoload 'command-history-mode "chistory"
  288.   "\
  289. Major mode for examining commands from  command-history.
  290. The number of commands listed is controlled by  list-command-history-max.
  291. The command history is filtered by  list-command-history-filter  if non-nil.
  292.  
  293. Like Emacs-Lisp Mode except that characters do not insert themselves and
  294. Digits provide prefix arguments.  Tab does not indent.
  295. \\{command-history-map}
  296. Calls the value of  command-history-hook  if that is non-nil
  297. The Command History listing is recomputed each time this mode is
  298. invoked."
  299.   t)
  300.  
  301. (autoload 'repeat-matching-complex-command "chistory"
  302.   "\
  303. Edit and re-evaluate complex command with name matching PATTERN.
  304. Matching occurrences are displayed, most recent first, until you
  305. select a form for evaluation.  If PATTERN is empty (or nil), every form
  306. in the command history is offered.  The form is placed in the minibuffer
  307. for editing and the result is evaluated."
  308.   t)
  309.  
  310.  
  311. (autoload 'common-lisp-indent-hook "cl-indent")
  312.  
  313. (autoload 'compare-windows "compare-w"
  314.   "\
  315. Compare text in current window with text in next window.
  316. Compares the text starting at point in each window,
  317. moving over text in each one as far as they match."
  318.   t)
  319.  
  320. (autoload 'compile "compile"
  321.   "\
  322. Compile the program including the current buffer.  Default: run `make'.
  323. Runs COMMAND, a shell command, in a separate process asynchronously
  324. with output going to the buffer *compilation*.
  325. You can then use the command \\[next-error] to find the next error message
  326. and move to the source code that caused it."
  327.   t)
  328.  
  329. (autoload 'grep "compile"
  330.   "\
  331. Run grep, with user-specified args, and collect output in a buffer.
  332. While grep runs asynchronously, you can use the \\[next-error] command
  333. to find the text that grep hits refer to."
  334.   t)
  335.  
  336. (define-key ctl-x-map "`" 'next-error)
  337.  
  338. (autoload 'next-error "compile"
  339.   "\
  340. Visit next compilation error message and corresponding source code.
  341. This operates on the output from the \\[compile] command.
  342. If all preparsed error messages have been processed,
  343. the error message buffer is checked for new ones.
  344. A non-nil argument (prefix arg, if interactive)
  345. means reparse the error message buffer and start at the first error."
  346.   t)
  347.  
  348. (define-key esc-map "/" 'dabbrev-expand)
  349.  
  350. (autoload 'dabbrev-expand "dabbrev"
  351.   "\
  352. Expand previous word \"dynamically\".
  353. Expands to the most recent, preceding word for which this is a prefix.
  354. If no suitable preceding word is found, words following point are considered.
  355.  
  356. A positive prefix argument, N, says to take the Nth backward DISTINCT
  357. possibility.  A negative argument says search forward.  The variable
  358. dabbrev-backward-only may be used to limit the direction of search to
  359. backward if set non-nil.
  360.  
  361. If the cursor has not moved from the end of the previous expansion and
  362. no argument is given, replace the previously-made expansion
  363. with the next possible expansion not yet tried."
  364.   t)
  365.  
  366. (autoload 'debug "debug"
  367.   "\
  368. Enter debugger.  Returns if user says \"continue\".
  369. Arguments are mainly for use when this is called
  370.  from the internals of the evaluator.
  371. You may call with no args, or you may
  372.  pass nil as the first arg and any other args you like.
  373.  In that case, the list of args after the first will 
  374.  be printed into the backtrace buffer.")
  375.  
  376. (autoload 'cancel-debug-on-entry "debug"
  377.   "\
  378. Undoes effect of debug-on-entry on FUNCTION."
  379.   t)
  380.  
  381. (autoload 'debug-on-entry "debug"
  382.   "\
  383. Request FUNCTION to invoke debugger each time it is called.
  384. If the user continues, FUNCTION's execution proceeds.
  385. Works by modifying the definition of FUNCTION,
  386. which must be written in Lisp, not predefined.
  387. Use `cancel-debug-on-entry' to cancel the effect of this command.
  388. Redefining FUNCTION also does that."
  389.   t)
  390.  
  391. (define-key ctl-x-map "d" 'dired)
  392.  
  393. (autoload 'dired "dired"
  394.   "\
  395. \"Edit\" directory DIRNAME--delete, rename, print, etc. some files in it.
  396. Dired displays a list of files in DIRNAME.
  397. You can move around in it with the usual commands.
  398. You can flag files for deletion with C-d
  399. and then delete them by typing `x'.
  400. Type `h' after entering dired for more info."
  401.   t)
  402.  
  403. (define-key ctl-x-4-map "d" 'dired-other-window)
  404.  
  405. (autoload 'dired-other-window "dired"
  406.   "\
  407. \"Edit\" directory DIRNAME.  Like \\[dired] but selects in another window."
  408.   t)
  409.  
  410. (autoload 'dired-noselect "dired"
  411.   "\
  412. Like M-x dired but returns the dired buffer as value, does not select it.")
  413.  
  414. (autoload 'dissociated-press "dissociate"
  415.   "\
  416. Dissociate the text of the current buffer.
  417. Output goes in buffer named *Dissociation*,
  418. which is redisplayed each time text is added to it.
  419. Every so often the user must say whether to continue.
  420. If ARG is positive, require ARG chars of continuity.
  421. If ARG is negative, require -ARG words of continuity.
  422. Default is 2."
  423.   t)
  424.  
  425. (autoload 'doctor "doctor"
  426.   "\
  427. Switch to *doctor* buffer and start giving psychotherapy."
  428.   t)
  429.  
  430. (autoload 'disassemble "disass"
  431.   "\
  432. Print disassembled code for OBJECT on (optional) STREAM.
  433. OBJECT can be a function name, lambda expression or any function object
  434. returned by SYMBOL-FUNCTION.  If OBJECT is not already compiled, we will
  435. compile it (but not redefine it)."
  436.   t)
  437.  
  438. (autoload 'electric-buffer-list "ebuff-menu"
  439.   "\
  440. Vaguely like ITS lunar select buffer;
  441. combining typeoutoid buffer listing with menuoid buffer selection.
  442.  
  443. This pops up a buffer describing the set of emacs buffers.
  444. If the very next character typed is a space then the buffer list
  445.  window disappears.
  446.  
  447. Otherwise, one may move around in the buffer list window, marking
  448.  buffers to be selected, saved or deleted.
  449.  
  450. To exit and select a new buffer, type Space when the cursor is on the
  451.  appropriate line of the buffer-list window.
  452.  
  453. Other commands are much like those of buffer-menu-mode.
  454.  
  455. Calls value of  electric-buffer-menu-mode-hook  on entry if non-nil.
  456.  
  457. \\{electric-buffer-menu-mode-map}"
  458.   t)
  459.  
  460.  
  461. (autoload 'electric-command-history "echistory"
  462.   "\
  463. Major mode for examining and redoing commands from  command-history.
  464. The number of command listed is controlled by  list-command-history-max.
  465. The command history is filtered by  list-command-history-filter  if non-nil.
  466. Combines typeout Command History list window with menu like selection
  467. of an expression from the history for re-evaluation in the *original* buffer.
  468.  
  469. The history displayed is filtered by  list-command-history-filter  if non-nil.
  470.  
  471. This pops up a window with the Command History listing.  If the very
  472. next character typed is Space, the listing is killed and the previous
  473. window configuration is restored.  Otherwise, you can browse in the
  474. Command History with  Return  moving down and  Delete  moving up, possibly
  475. selecting an expression to be redone with Space or quitting with `Q'.
  476.  
  477. Like Emacs-Lisp Mode except that characters do not insert themselves and
  478. Tab and linefeed do not indent.  Instead these commands are provided:
  479. Space or !    edit then evaluate current line in history inside
  480.            the ORIGINAL buffer which invoked this mode.
  481.            The previous window configuration is restored
  482.            unless the invoked command changes it.
  483. C-c C-c, C-], Q    Quit and restore previous window configuration.
  484. LFD, RET    Move to the next line in the history.
  485. DEL        Move to the previous line in the history.
  486. ?        Provides a complete list of commands.
  487.  
  488. Calls the value of  electric-command-history-hook  if that is non-nil
  489. The Command History listing is recomputed each time this mode is invoked."
  490.   t)
  491.  
  492. (autoload 'edt-emulation-on "edt"
  493.   "\
  494. Begin emulating DEC's EDT editor.
  495. Certain keys are rebound; including nearly all keypad keys.
  496. Use \\[edt-emulation-off] to undo all rebindings except the keypad keys.
  497. Note that this function does not work if called directly from the .emacs file.
  498. Instead, the .emacs file should do (setq term-setup-hook 'edt-emulation-on)
  499. Then this function will be called at the time when it will work."
  500.   t)
  501.  
  502. (autoload 'fortran-mode "fortran"
  503.   "\
  504. Major mode for editing fortran code.
  505. Tab indents the current fortran line correctly. 
  506. `do' statements must not share a common `continue'.
  507.  
  508. Type `;?' or `;\\[help-command]' to display a list of built-in abbrevs for Fortran keywords.
  509.  
  510. Variables controlling indentation style and extra features:
  511.  
  512.  comment-start
  513.     Normally nil in Fortran mode.  If you want to use comments
  514.     starting with `!', set this to the string \"!\".
  515.  fortran-do-indent
  516.     Extra indentation within do blocks.  (default 3)
  517.  fortran-if-indent
  518.     Extra indentation within if blocks.  (default 3)
  519.  fortran-continuation-indent
  520.     Extra indentation appled to continuation statements.  (default 5)
  521.  fortran-comment-line-column
  522.     Amount of indentation for text within full-line comments. (default 6)
  523.  fortran-comment-indent-style
  524.     nil    means don't change indentation of text in full-line comments,
  525.     fixed  means indent that text at column fortran-comment-line-column
  526.     relative  means indent at fortran-comment-line-column beyond the
  527.            indentation for a line of code.
  528.     Default value is fixed.
  529.  fortran-comment-indent-char
  530.     Character to be inserted instead of space for full-line comment
  531.     indentation.  (default is a space)
  532.  fortran-minimum-statement-indent
  533.     Minimum indentation for fortran statements. (default 6)
  534.  fortran-line-number-indent
  535.     Maximum indentation for line numbers.  A line number will get
  536.     less than this much indentation if necessary to avoid reaching
  537.     column 5.  (default 1)
  538.  fortran-check-all-num-for-matching-do
  539.     Non-nil causes all numbered lines to be treated as possible 'continue'
  540.     statements.  (default nil)
  541.  fortran-continuation-char
  542.     character to be inserted in column 5 of a continuation line.
  543.     (default $)
  544.  fortran-comment-region
  545.     String inserted by \\[fortran-comment-region] at start of each line in 
  546.     region.  (default \"c$$$\")
  547.  fortran-electric-line-number
  548.     Non-nil causes line number digits to be moved to the correct column 
  549.     as typed.  (default t)
  550.  fortran-startup-message
  551.     Set to nil to inhibit message first time fortran-mode is used.
  552.  
  553. Turning on Fortran mode calls the value of the variable fortran-mode-hook 
  554. with no args, if that value is non-nil.
  555. \\{fortran-mode-map}"
  556.   t)
  557.  
  558. (autoload 'ftp-find-file "ftp"
  559.   "\
  560. FTP to HOST to get FILE, logging in as USER with password PASSWORD.
  561. Interactively, HOST and FILE are specified by reading a string with
  562.  a colon character separating the host from the filename.
  563. USER and PASSWORD are defaulted from the values used when
  564.  last ftping from HOST (unless password-remembering is disabled).
  565.  Supply a password of the symbol `t' to override this default
  566.  (interactively, this is done by giving a prefix arg)"
  567.   t)
  568.  
  569. (autoload 'ftp-write-file "ftp"
  570.   "\
  571. FTP to HOST to write FILE, logging in as USER with password PASSWORD.
  572. Interactively, HOST and FILE are specified by reading a string with colon
  573. separating the host from the filename.
  574. USER and PASSWORD are defaulted from the values used when
  575.  last ftping from HOST (unless password-remembering is disabled).
  576.  Supply a password of the symbol `t' to override this default
  577.  (interactively, this is done by giving a prefix arg)"
  578.   t)
  579.  
  580. (autoload 'gdb "gdb"
  581.   "\
  582. Run gdb on program FILE in buffer *gdb-FILE*.
  583. The directory containing FILE becomes the initial working directory
  584. and source-file directory for GDB.  If you wish to change this, use
  585. the GDB commands `cd DIR' and `directory'."
  586.   t)
  587.  
  588. (autoload 'set-gosmacs-bindings "gosmacs"
  589.   "\
  590. Rebind some keys globally to make GNU Emacs resemble Gosling Emacs.
  591. Use \\[set-gnu-bindings] to restore previous global bindings."
  592.   t)
  593.  
  594. (autoload 'hanoi "hanoi"
  595.   "\
  596. Towers of Hanoi diversion.  Argument is number of rings."
  597.   t)
  598.  
  599. (autoload 'Helper-help "helper"
  600.   "\
  601. Provide help for current mode."
  602.   t)
  603.  
  604. (autoload 'Helper-describe-bindings "helper"
  605.   "\
  606. Describe local key bindings of current mode."
  607.   t)
  608.  
  609. (autoload 'info "info"
  610.   "\
  611. Enter Info, the documentation browser."
  612.   t)
  613.  
  614. (autoload 'Info-tagify "informat"
  615.   "\
  616. Create or update Info-file tag table in current buffer."
  617.   t)
  618.  
  619. (autoload 'Info-validate "informat"
  620.   "\
  621. Check current buffer for validity as an Info file.
  622. Check that every node pointer points to an existing node."
  623.   t)
  624.  
  625. (autoload 'Info-split "informat"
  626.   "\
  627. Split an info file into an indirect file plus bounded-size subfiles.
  628. Each subfile will be up to 50000 characters plus one node.
  629.  
  630. To use this command, first visit a large Info file that has a tag table.
  631. The buffer is modified into a (small) indirect info file
  632. which should be saved in place of the original visited file.
  633.  
  634. The subfiles are written in the same directory the original file is in,
  635. with names generated by appending `-' and a number to the original file name.
  636.  
  637. The indirect file still functions as an Info file, but it contains
  638. just the tag table and a directory of subfiles."
  639.   t)
  640.  
  641. (autoload 'batch-info-validate "informat"
  642.   "\
  643. Runs  Info-validate  on the files remaining on the command line.
  644. Must be used only with -batch, and kills emacs on completion.
  645. Each file will be processed even if an error occurred previously.
  646. For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
  647.   nil)
  648.  
  649. (autoload 'ledit-mode "ledit"
  650.   "\
  651. Major mode for editing text and stuffing it to a Lisp job.
  652. Like Lisp mode, plus these special commands:
  653.   M-C-d    -- record defun at or after point
  654.        for later transmission to Lisp job.
  655.   M-C-r -- record region for later transmission to Lisp job.
  656.   C-x z -- transfer to Lisp job and transmit saved text.
  657.   M-C-c -- transfer to Liszt (Lisp compiler) job
  658.        and transmit saved text.
  659. \\{ledit-mode-map}
  660. To make Lisp mode automatically change to Ledit mode,
  661. do (setq lisp-mode-hook 'ledit-from-lisp-mode)"
  662.   t)
  663.  
  664. (autoload 'ledit-from-lisp-mode "ledit")
  665.  
  666. (autoload 'lpr-buffer "lpr"
  667.   "\
  668. Print buffer contents as with Unix command `lpr'.
  669. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  670.   t)
  671.  
  672. (autoload 'print-buffer "lpr"
  673.   "\
  674. Print buffer contents as with Unix command `lpr -p'.
  675. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  676.   t)
  677.  
  678. (autoload 'lpr-region "lpr"
  679.   "\
  680. Print region contents as with Unix command `lpr'.
  681. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  682.   t)
  683.  
  684. (autoload 'print-region "lpr"
  685.   "\
  686. Print region contents as with Unix command `lpr -p'.
  687. `lpr-switches' is a list of extra switches (strings) to pass to lpr."
  688.   t)
  689.  
  690. (autoload 'insert-kbd-macro "macros"
  691.   "\
  692. Insert in buffer the definition of kbd macro NAME, as Lisp code.
  693. Second argument KEYS non-nil means also record the keys it is on.
  694.  (This is the prefix argument, when calling interactively.)
  695.  
  696. This Lisp code will, when executed, define the kbd macro with the
  697. same definition it has now.  If you say to record the keys,
  698. the Lisp code will also rebind those keys to the macro.
  699. Only global key bindings are recorded since executing this Lisp code
  700. always makes global bindings.
  701.  
  702. To save a kbd macro, visit a file of Lisp code such as your ~/.emacs,
  703. use this command, and then save the file."
  704.   t)
  705.  
  706. (define-key ctl-x-map "q" 'kbd-macro-query)
  707.  
  708. (autoload 'kbd-macro-query "macros"
  709.   "\
  710. Query user during kbd macro execution.
  711. With prefix argument, enters recursive edit,
  712.  reading keyboard commands even within a kbd macro.
  713.  You can give different commands each time the macro executes.
  714. Without prefix argument, reads a character.  Your options are:
  715.  Space -- execute the rest of the macro.
  716.  DEL -- skip the rest of the macro; start next repetition.
  717.  C-d -- skip rest of the macro and don't repeat it any more.
  718.  C-r -- enter a recursive edit, then on exit ask again for a character
  719.  C-l -- redisplay screen and ask again."
  720.   t)
  721.  
  722. (autoload 'name-last-kbd-macro "macros"
  723.   "\
  724. Assign a name to the last keyboard macro defined.
  725. One arg, a symbol, which is the name to define.
  726. The symbol's function definition becomes the keyboard macro string.
  727. Such a \"function\" cannot be called from Lisp, but it is a valid command
  728. definition for the editor command loop."
  729.   t)
  730.  
  731. (autoload 'make-command-summary "makesum"
  732.   "\
  733. Make a summary of current key bindings in the buffer *Summary*.
  734. Previous contents of that buffer are killed first."
  735.   t)
  736.  
  737. (autoload 'define-mail-alias "mailalias"
  738.   "\
  739. Define NAME as a mail-alias that translates to DEFINITION."
  740.   t)
  741.  
  742. (autoload 'manual-entry "man"
  743.   "\
  744. Display the Unix manual entry for TOPIC.
  745. TOPIC is either the title of the entry, or has the form TITLE(SECTION)
  746. where SECTION is the desired section of the manual, as in `tty(4)'."
  747.   t)
  748.  
  749. (autoload 'mh-rmail "mh-e"
  750.   "\
  751. Inc(orporate) new mail (no arg) or scan a MH mail box (arg given).
  752. This front end uses the MH mail system, which uses different conventions
  753. from the usual mail system."
  754.   t)
  755.  
  756. (autoload 'mh-smail "mh-e"
  757.   "\
  758. Send mail using the MH mail system."
  759.   t)
  760.  
  761. (autoload 'convert-mocklisp-buffer "mlconvert"
  762.   "\
  763. Convert buffer of Mocklisp code to real Lisp that GNU Emacs can run."
  764.   t)
  765.  
  766. (autoload 'modula-2-mode "modula2"
  767.   "\
  768. This is a mode intended to support program development in Modula-2.
  769. All control constructs of Modula-2 can be reached by typing
  770. Control-C followed by the first character of the construct.
  771. \\{m2-mode-map}
  772.   Control-c b begin         Control-c c case
  773.   Control-c d definition    Control-c e else
  774.   Control-c f for           Control-c h header
  775.   Control-c i if            Control-c m module
  776.   Control-c l loop          Control-c o or
  777.   Control-c p procedure     Control-c Control-w with
  778.   Control-c r record        Control-c s stdio
  779.   Control-c t type          Control-c u until
  780.   Control-c v var           Control-c w while
  781.   Control-c x export        Control-c y import
  782.   Control-c { begin-comment Control-c } end-comment
  783.   Control-c Control-z suspend-emacs     Control-c Control-t toggle
  784.   Control-c Control-c compile           Control-x ` next-error
  785.   Control-c Control-l link
  786.  
  787.    m2-indent controls the number of spaces for each indentation.
  788.    m2-compile-command holds the command to compile a Modula-2 program.
  789.    m2-link-command holds the command to link a Modula-2 program."
  790.   t)
  791.  
  792. (setq disabled-command-hook 'disabled-command-hook)
  793.  
  794. (autoload 'disabled-command-hook "novice")
  795. (autoload 'enable-command "novice"
  796.   "\
  797. Allow COMMAND to be executed without special confirmation from now on.
  798. The user's .emacs file is altered so that this will apply
  799. to future sessions." t)
  800.  
  801. (autoload 'disable-command "novice"
  802.   "\
  803. Require special confirmation to execute COMMAND from now on.
  804. The user's .emacs file is altered so that this will apply
  805. to future sessions." t)
  806.  
  807. (autoload 'nroff-mode "nroff-mode"
  808.   "\
  809. Major mode for editing text intended for nroff to format.
  810. \\{nroff-mode-map}
  811. Turning on Nroff mode runs text-mode-hook, then nroff-mode-hook.
  812. Also, try nroff-electric-mode, for automatically inserting
  813. closing requests for requests that are used in matched pairs."
  814.   t)
  815.  
  816. (autoload 'list-options "options"
  817.   "\
  818. Display a list of Emacs user options, with values and documentation."
  819.   t)
  820.  
  821. (autoload 'edit-options "options"
  822.   "\
  823. Edit a list of Emacs user option values.
  824. Selects a buffer containing such a list,
  825. in which there are commands to set the option values.
  826. Type \\[describe-mode] in that buffer for a list of commands."
  827.   t)
  828.  
  829. (autoload 'outline-mode "outline"
  830.   "\
  831. Set major mode for editing outlines with selective display.
  832. Headings are lines which start with asterisks: one for major headings,
  833. two for subheadings, etc.  Lines not starting with asterisks are body lines. 
  834.  
  835. Body text or subheadings under a heading can be made temporarily
  836. invisible, or visible again.  Invisible lines are attached to the end 
  837. of the heading, so they move with it, if the line is killed and yanked
  838. back.  A heading with text hidden under it is marked with an ellipsis (...).
  839.  
  840. Commands:
  841. C-c C-n   outline-next-visible-heading      move by visible headings
  842. C-c C-p   outline-previous-visible-heading
  843. C-c C-f   outline-forward-same-level        similar but skip subheadings
  844. C-c C-b   outline-backward-same-level
  845. C-c C-u   outline-up-heading            move from subheading to heading
  846.  
  847. Meta-x hide-body    make all text invisible (not headings).
  848. Meta-x show-all        make everything in buffer visible.
  849.  
  850. The remaining commands are used when point is on a heading line.
  851. They apply to some of the body or subheadings of that heading.
  852. C-c C-h   hide-subtree    make body and subheadings invisible.
  853. C-c C-s   show-subtree    make body and subheadings visible.
  854. C-c C-i   show-children    make direct subheadings visible.
  855.          No effect on body, or subheadings 2 or more levels down.
  856.          With arg N, affects subheadings N levels down.
  857. M-x hide-entry       make immediately following body invisible.
  858. M-x show-entry       make it visible.
  859. M-x hide-leaves       make body under heading and under its subheadings invisible.
  860.              The subheadings remain visible.
  861. M-x show-branches  make all subheadings at all levels visible.
  862.  
  863. The variable outline-regexp can be changed to control what is a heading.
  864. A line is a heading if outline-regexp matches something at the
  865. beginning of the line.  The longer the match, the deeper the level.
  866.  
  867. Turning on outline mode calls the value of text-mode-hook and then of
  868. outline-mode-hook, if they are non-nil."
  869.   t)
  870.  
  871. (autoload 'edit-picture "picture"
  872.   "\
  873. Switch to Picture mode, in which a quarter-plane screen model is used.
  874. Printing characters replace instead of inserting themselves with motion
  875. afterwards settable by these commands:
  876.   C-c <      Move left after insertion.
  877.   C-c >      Move right after insertion.
  878.   C-c ^      Move up after insertion.
  879.   C-c .      Move down after insertion.
  880.   C-c `      Move northwest (nw) after insertion.
  881.   C-c '      Move northeast (ne) after insertion.
  882.   C-c /      Move southwest (sw) after insertion.
  883.   C-c \\   Move southeast (se) after insertion.
  884. The current direction is displayed in the mode line.  The initial
  885. direction is right.  Whitespace is inserted and tabs are changed to
  886. spaces when required by movement.  You can move around in the buffer
  887. with these commands:
  888.   C-p      Move vertically to SAME column in previous line.
  889.   C-n      Move vertically to SAME column in next line.
  890.   C-e      Move to column following last non-whitespace character.
  891.   C-f      Move right inserting spaces if required.
  892.   C-b      Move left changing tabs to spaces if required.
  893.   C-c C-f Move in direction of current picture motion.
  894.   C-c C-b Move in opposite direction of current picture motion.
  895.   Return  Move to beginning of next line.
  896. You can edit tabular text with these commands:
  897.   M-Tab      Move to column beneath (or at) next interesting charecter.
  898.         `Indents' relative to a previous line.
  899.   Tab      Move to next stop in tab stop list.
  900.   C-c Tab Set tab stops according to context of this line.
  901.         With ARG resets tab stops to default (global) value.
  902.         See also documentation of variable    picture-tab-chars
  903.         which defines \"interesting character\".  You can manually
  904.         change the tab stop list with command \\[edit-tab-stops].
  905. You can manipulate text with these commands:
  906.   C-d      Clear (replace) ARG columns after point without moving.
  907.   C-c C-d Delete char at point - the command normally assigned to C-d.
  908.   Delete  Clear (replace) ARG columns before point, moving back over them.
  909.   C-k      Clear ARG lines, advancing over them.     The cleared
  910.         text is saved in the kill ring.
  911.   C-o      Open blank line(s) beneath current line.
  912. You can manipulate rectangles with these commands:
  913.   C-c C-k Clear (or kill) a rectangle and save it.
  914.   C-c C-w Like C-c C-k except rectangle is saved in named register.
  915.   C-c C-y Overlay (or insert) currently saved rectangle at point.
  916.   C-c C-x Like C-c C-y except rectangle is taken from named register.
  917.   \\[copy-rectangle-to-register]   Copies a rectangle to a register.
  918.   \\[advertised-undo]   Can undo effects of rectangle overlay commands
  919.         commands if invoked soon enough.
  920. You can return to the previous mode with:
  921.   C-c C-c Which also strips trailing whitespace from every line.
  922.         Stripping is suppressed by supplying an argument.
  923.  
  924. Entry to this mode calls the value of  edit-picture-hook  if non-nil.
  925.  
  926. Note that Picture mode commands will work outside of Picture mode, but
  927. they are not defaultly assigned to keys."
  928.   t)
  929.  
  930. (fset 'picture-mode 'edit-picture)
  931.  
  932. (autoload 'prolog-mode "prolog"
  933.   "\
  934. Major mode for editing Prolog code for Prologs.
  935. Blank lines and `%%...' separate paragraphs.  `%'s start comments.
  936. Commands:
  937. \\{prolog-mode-map}
  938. Entry to this mode calls the value of prolog-mode-hook
  939. if that value is non-nil."
  940.   t)
  941.  
  942. (autoload 'run-prolog "prolog"
  943.   "\
  944. Run an inferior Prolog process, input and output via buffer *prolog*."
  945.   t)
  946.  
  947.  
  948. (autoload 'clear-rectangle "rect"
  949.   "\
  950. Blank out rectangle with corners at point and mark.
  951. The text previously in the region is overwritten by the blanks."
  952.   t)
  953.  
  954. (autoload 'delete-rectangle "rect"
  955.   "\
  956. Delete (don't save) text in rectangle with point and mark as corners.
  957. The same range of columns is deleted in each line
  958. starting with the line where the region begins
  959. and ending with the line where the region ends."
  960.   t)
  961.  
  962. (autoload 'delete-extract-rectangle "rect"
  963.   "\
  964. Return and delete contents of rectangle with corners at START and END.
  965. Value is list of strings, one for each line of the rectangle.")
  966.  
  967. (autoload 'extract-rectangle "rect"
  968.   "\
  969. Return contents of rectangle with corners at START and END.
  970. Value is list of strings, one for each line of the rectangle.")
  971.  
  972. (autoload 'insert-rectangle "rect"
  973.   "\
  974. Insert text of RECTANGLE with upper left corner at point.
  975. RECTANGLE's first line is inserted at point,
  976. its second line is inserted at a point vertically under point, etc.
  977. RECTANGLE should be a list of strings.")
  978.  
  979. (autoload 'kill-rectangle "rect"
  980.   "\
  981. Delete rectangle with corners at point and mark; save as last killed one.
  982. Calling from program, supply two args START and END, buffer positions.
  983. But in programs you might prefer to use delete-extract-rectangle."
  984.   t)
  985.  
  986. (autoload 'open-rectangle "rect"
  987.   "\
  988. Blank out rectangle with corners at point and mark, shifting text right.
  989. The text previously in the region is not overwritten by the blanks,
  990. but insted winds up to the right of the rectangle."
  991.   t)
  992.  
  993. (autoload 'yank-rectangle "rect"
  994.   "\
  995. Yank the last killed rectangle with upper left corner at point."
  996.   t)
  997.  
  998. (autoload 'rnews "rnews"
  999.   "\
  1000. Read USENET news for groups for which you are a member and add or
  1001. delete groups.
  1002. You can reply to articles posted and send articles to any group.
  1003.  
  1004. Type \\[describe-mode] once reading news to get a list of rnews commands."
  1005.   t)
  1006.  
  1007. (autoload 'news-post-news "rnewspost"
  1008.   "\
  1009. Begin editing a new USENET news article to be posted.
  1010. Type \\[describe-mode] once editing the article to get a list of commands."
  1011.   t)
  1012. (fset 'sendnews 'news-post-news)
  1013. (fset 'postnews 'news-post-news)
  1014.  
  1015. (autoload 'rmail "rmail"
  1016.   "\
  1017. Read and edit incoming mail.
  1018. Moves messages into file named by  rmail-file-name  (a babyl format file)
  1019.  and edits that file in RMAIL Mode.
  1020. Type \\[describe-mode] once editing that file, for a list of RMAIL commands.
  1021.  
  1022. May be called with filename as argument;
  1023. then performs rmail editing on that file,
  1024. but does not copy any new mail into the file."
  1025.   t)
  1026.  
  1027. (autoload 'rmail-input "rmail"
  1028.   "\
  1029. Run RMAIL on file FILENAME."
  1030.   t)
  1031.  
  1032. (defconst rmail-dont-reply-to-names nil "\
  1033. *A regular expression specifying names to prune in replying to messages.
  1034. nil means don't reply to yourself.")
  1035.  
  1036. (defvar rmail-default-dont-reply-to-names "info-" "\
  1037. A regular expression specifying part of the value of the default value of
  1038. the variable `rmail-dont-reply-to-names', for when the user does not set
  1039. `rmail-dont-reply-to-names' explicitly.  (The other part of the default
  1040. value is the user's name.)
  1041. It is useful to set this variable in the site customisation file.")
  1042.  
  1043. (defconst rmail-primary-inbox-list  nil "\
  1044. *List of files which are inboxes for user's primary mail file ~/RMAIL.
  1045. `nil' means the default, which is (\"~/mbox\" \"/usr/spool/mail/$USER\")
  1046. (the second name varies depending on the operating system).")
  1047.  
  1048. (defconst rmail-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^received:\\|^[a-z-]*message-id:\\|^summary-line:\\|^errors-to:" "\
  1049. *Gubbish header fields one would rather not see.")
  1050.  
  1051. (defvar rmail-delete-after-output nil "\
  1052. *Non-nil means automatically delete a message that is copied to a file.")
  1053.  
  1054. ;;; Others are in paths.el.
  1055.  
  1056. (autoload 'run-scheme "xscheme"
  1057.   "\
  1058. Run an inferior Scheme process.
  1059. Output goes to the buffer `*scheme*'.
  1060. With argument, asks for a command line."
  1061.   t)
  1062.  
  1063. (autoload 'scheme-mode "scheme"
  1064.   "\
  1065. Major mode for editing Scheme code.
  1066. Editing commands are similar to those of lisp-mode.
  1067.  
  1068. In addition, if an inferior Scheme process is running, some additional
  1069. commands will be defined, for evaluating expressions and controlling
  1070. the interpreter, and the state of the process will be displayed in the
  1071. modeline of all Scheme buffers.  The names of commands that interact
  1072. with the Scheme process start with \"xscheme-\".  For more information
  1073. see the documentation for xscheme-interaction-mode.
  1074.  
  1075. Commands:
  1076. Delete converts tabs to spaces as it moves back.
  1077. Blank lines separate paragraphs.  Semicolons start comments.
  1078. \\{scheme-mode-map}
  1079. Entry to this mode calls the value of scheme-mode-hook
  1080. if that value is non-nil."
  1081.   t)
  1082.  
  1083. (autoload 'scribe-mode "scribe"
  1084.   "\
  1085. Major mode for editing files of Scribe (a text formatter) source.
  1086. Scribe-mode is similar text-mode, with a few extra commands added.
  1087. \\{scribe-mode-map}
  1088.  
  1089. Interesting variables:
  1090.  
  1091. scribe-fancy-paragraphs
  1092.   Non-nil makes Scribe mode use a different style of paragraph separation.
  1093.  
  1094. scribe-electric-quote
  1095.   Non-nil makes insert of double quote use `` or '' depending on context.
  1096.  
  1097. scribe-electric-parenthesis
  1098.   Non-nil makes an open-parenthesis char (one of `([<{')
  1099.   automatically insert its close if typed after an @Command form."
  1100.   t)
  1101.  
  1102. ;; Useful to set in site-init.el
  1103. (defconst send-mail-function 'sendmail-send-it "\
  1104. Function to call to send the current buffer as mail.
  1105. The headers are delimited by a string found in mail-header-separator.")
  1106.  
  1107. (defconst mail-self-blind nil "\
  1108. *Non-nil means insert BCC to self in messages to be sent.
  1109. This is done when the message is initialized,
  1110. so you can remove or alter the BCC field to override the default.")
  1111.  
  1112. (defconst mail-interactive nil "\
  1113. *Non-nil means when sending a message wait for and display errors.
  1114. nil means let mailer mail back a message to report errors.")
  1115.  
  1116. (defconst mail-yank-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^remailed\\|^received:\\|^[a-z-]*message-id:\\|^summary-line:\\|^to:\\|^cc:\\|^subject:\\|^in-reply-to:\\|^return-path:" "\
  1117. Delete these headers from old message when it's inserted in a reply.")
  1118.  
  1119. (defconst mail-header-separator "--text follows this line--" "\
  1120. *Line used to separate headers from text in messages being composed.")
  1121.  
  1122. (defconst mail-archive-file-name nil "\
  1123. *Name of file to write all outgoing messages in, or nil for none.")
  1124.  
  1125. (defvar mail-aliases t "\
  1126. Alias of mail address aliases,
  1127. or t meaning should be initialized from .mailrc.")
  1128.  
  1129. (autoload 'mail-other-window "sendmail"
  1130.   "\
  1131. Like `mail' command, but display mail buffer in another window."
  1132.   t)
  1133.  
  1134. (autoload 'mail "sendmail"
  1135.   "\
  1136. Edit a message to be sent.  Argument means resume editing (don't erase).
  1137. Returns with message buffer selected; value t if message freshly initialized.
  1138. While editing message, type C-c C-c to send the message and exit.
  1139.  
  1140. Various special commands starting with C-c are available in sendmail mode
  1141. to move to message header fields:
  1142. \\{mail-mode-map}
  1143.  
  1144. If mail-self-blind is non-nil, a BCC to yourself is inserted
  1145. when the message is initialized.
  1146.  
  1147. If mail-default-reply-to is non-nil, it should be an address (a string);
  1148. a Reply-to: field with that address is inserted.
  1149.  
  1150. If mail-archive-file-name is non-nil, an FCC field with that file name
  1151. is inserted.
  1152.  
  1153. If mail-setup-hook is bound, its value is called with no arguments
  1154. after the message is initialized.  It can add more default fields.
  1155.  
  1156. When calling from a program, the second through fifth arguments
  1157.  TO, SUBJECT, IN-REPLY-TO and CC specify if non-nil
  1158.  the initial contents of those header fields.
  1159.  These arguments should not have final newlines.
  1160. The sixth argument REPLYBUFFER is a buffer whose contents
  1161.  should be yanked if the user types C-c C-y."
  1162.   t)
  1163.  
  1164. (define-key ctl-x-4-map "m" 'mail-other-window)
  1165. (define-key ctl-x-map "m" 'mail)
  1166.  
  1167. ;; used in mail-utils
  1168. (defvar mail-use-rfc822 nil "\
  1169. *If non-nil, use a full, hairy RFC822 parser on mail addresses.
  1170. Otherwise, (the default) use a smaller, somewhat faster and
  1171. often-correct parser.")
  1172.  
  1173.  
  1174. (autoload 'server-start "server"
  1175.   "\
  1176. Allow this Emacs process to be a server for client processes.
  1177. This starts a server communications subprocess through which
  1178. client \"editors\" can send your editing commands to this Emacs job.
  1179. To use the server, set up the program `etc/emacsclient' in the
  1180. Emacs distribution as your standard \"editor\".
  1181.  
  1182. Prefix arg means just kill any existing server communications subprocess."
  1183.   t)
  1184.  
  1185. (autoload 'run-lisp "shell"
  1186.   "\
  1187. Run an inferior Lisp process, input and output via buffer *lisp*."
  1188.   t)
  1189.  
  1190. (autoload 'shell "shell"
  1191.   "\
  1192. Run an inferior shell, with I/O through buffer *shell*.
  1193. If buffer exists but shell process is not running, make new shell.
  1194. Program used comes from variable explicit-shell-file-name,
  1195.  or (if that is nil) from the ESHELL environment variable,
  1196.  or else from SHELL if there is no ESHELL.
  1197. If a file ~/.emacs_SHELLNAME exists, it is given as initial input
  1198.  (Note that this may lose due to a timing error if the shell
  1199.   discards input when it starts up.)
  1200. The buffer is put in shell-mode, giving commands for sending input
  1201. and controlling the subjobs of the shell.  See shell-mode.
  1202. See also variable shell-prompt-pattern.
  1203.  
  1204. The shell file name (sans directories) is used to make a symbol name
  1205. such as `explicit-csh-arguments'.  If that symbol is a variable,
  1206. its value is used as a list of arguments when invoking the shell.
  1207. Otherwise, one argument `-i' is passed to the shell.
  1208.  
  1209. Note that many people's .cshrc files unconditionally clear the prompt.
  1210. If yours does, you will probably want to change it."
  1211.   t)
  1212.  
  1213. (autoload 'sort-lines "sort"
  1214.   "\
  1215. Sort lines in region alphabetically; argument means descending order.
  1216. Called from a program, there are three arguments:
  1217. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1218.   t)
  1219.  
  1220. (autoload 'sort-paragraphs "sort"
  1221.   "\
  1222. Sort paragraphs in region alphabetically; argument means descending order.
  1223. Called from a program, there are three arguments:
  1224. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1225.   t)
  1226.  
  1227. (autoload 'sort-pages "sort"
  1228.   "\
  1229. Sort pages in region alphabetically; argument means descending order.
  1230. Called from a program, there are three arguments:
  1231. REVERSE (non-nil means reverse order), BEG and END (region to sort)."
  1232.   t)
  1233.  
  1234. (autoload 'sort-numeric-fields "sort"
  1235.   "\
  1236. Sort lines in region numerically by the ARGth field of each line.
  1237. Fields are separated by whitespace and numbered from 1 up.
  1238. Specified field must contain a number in each line of the region.
  1239. With a negative arg, sorts by the -ARG'th field, in reverse order.
  1240. Called from a program, there are three arguments:
  1241. FIELD, BEG and END.  BEG and END specify region to sort."
  1242.   t)
  1243.  
  1244. (autoload 'sort-fields "sort"
  1245.   "\
  1246. Sort lines in region lexicographically by the ARGth field of each line.
  1247. Fields are separated by whitespace and numbered from 1 up.
  1248. With a negative arg, sorts by the -ARG'th field, in reverse order.
  1249. Called from a program, there are three arguments:
  1250. FIELD, BEG and END.  BEG and END specify region to sort."
  1251.   t)
  1252.  
  1253. (autoload 'sort-columns "sort"
  1254.   "\
  1255. Sort lines in region alphabetically by a certain range of columns.
  1256. For the purpose of this command, the region includes
  1257. the entire line that point is in and the entire line the mark is in.
  1258. The column positions of point and mark bound the range of columns to sort on.
  1259. A prefix argument means sort into reverse order.
  1260.  
  1261. Note that sort-columns uses the sort utility program and therefore
  1262. cannot work on text containing TAB characters.  Use M-x untabify
  1263. to convert tabs to spaces before sorting."
  1264.   t)
  1265.  
  1266. (autoload 'sort-regexp-fields "sort"
  1267.   "\
  1268. Sort the region lexicographically as specifed by RECORD-REGEXP and KEY.
  1269. RECORD-REGEXP specifies the textual units which should be sorted.
  1270.   For example, to sort lines RECORD-REGEXP would be \"^.*$\"
  1271. KEY specifies the part of each record (ie each match for RECORD-REGEXP)
  1272.   is to be used for sorting.
  1273.   If it is \"\\digit\" then the digit'th \"\\(...\\)\" match field from
  1274.   RECORD-REGEXP is used.
  1275.   If it is \"\\&\" then the whole record is used.
  1276.   Otherwise, it is a regular-expression for which to search within the record.
  1277. If a match for KEY is not found within a record then that record is ignored.
  1278.  
  1279. With a negative prefix arg sorts in reverse order.
  1280.  
  1281. For example: to sort lines in the region by the first word on each line
  1282.  starting with the letter \"f\",
  1283.  RECORD-REGEXP would be \"^.*$\" and KEY \"\\<f\\w*\\>\""
  1284.   t)
  1285.  
  1286.  
  1287. (autoload 'spell-buffer "spell"
  1288.   "\
  1289. Check spelling of every word in the buffer.
  1290. For each incorrect word, you are asked for the correct spelling
  1291. and then put into a query-replace to fix some or all occurrences.
  1292. If you do not want to change a word, just give the same word
  1293. as its \"correct\" spelling; then the query replace is skipped."
  1294.   t)
  1295.  
  1296. (autoload 'spell-region "spell"
  1297.   "\
  1298. Like spell-buffer but applies only to region.
  1299. From program, applies from START to END."
  1300.   t)
  1301.  
  1302. (define-key esc-map "$" 'spell-word)
  1303. (autoload 'spell-word "spell"
  1304.   "\
  1305. Check spelling of word at or before point.
  1306. If it is not correct, ask user for the correct spelling
  1307. and query-replace the entire buffer to substitute it."
  1308.   t)
  1309.  
  1310. (autoload 'spell-string "spell"
  1311.   "\
  1312. Check spelling of string supplied as argument."
  1313.   t)
  1314.  
  1315. (autoload 'untabify "tabify"
  1316.   "\
  1317. Convert all tabs in region to multiple spaces, preserving columns.
  1318. The variable tab-width controls the action."
  1319.   t)
  1320.  
  1321. (autoload 'tabify "tabify"
  1322.   "\
  1323. Convert multiple spaces in region to tabs when possible.
  1324. A group of spaces is partially replaced by tabs
  1325. when this can be done without changing the column they end at.
  1326. The variable tab-width controls the action."
  1327.   t)
  1328.  
  1329. (define-key esc-map "." 'find-tag)
  1330.  
  1331. (autoload 'find-tag "tags"
  1332.   "\
  1333. Find tag (in current tag table) whose name contains TAGNAME.
  1334.  Selects the buffer that the tag is contained in
  1335. and puts point at its definition.
  1336.  If TAGNAME is a null string, the expression in the buffer
  1337. around or before point is used as the tag name.
  1338.  If second arg NEXT is non-nil (interactively, with prefix arg),
  1339. searches for the next tag in the tag table
  1340. that matches the tagname used in the previous find-tag.
  1341.  
  1342. See documentation of variable tags-file-name."
  1343.   t)
  1344.  
  1345. (define-key ctl-x-4-map "." 'find-tag-other-window)
  1346.  
  1347. (autoload 'find-tag-other-window "tags"
  1348.   "\
  1349. Find tag (in current tag table) whose name contains TAGNAME.
  1350.  Selects the buffer that the tag is contained in in another window
  1351. and puts point at its definition.
  1352.  If TAGNAME is a null string, the expression in the buffer
  1353. around or before point is used as the tag name.
  1354.  If second arg NEXT is non-nil (interactively, with prefix arg),
  1355. searches for the next tag in the tag table
  1356. that matches the tagname used in the previous find-tag.
  1357.  
  1358. See documentation of variable tags-file-name."
  1359.   t)
  1360.  
  1361. (autoload 'list-tags "tags"
  1362.   "\
  1363. Display list of tags in file FILE.
  1364. FILE should not contain a directory spec
  1365. unless it has one in the tag table."
  1366.   t)
  1367.  
  1368. (autoload 'next-file "tags"
  1369.   "\
  1370. Select next file among files in current tag table.
  1371. Non-nil argument (prefix arg, if interactive)
  1372. initializes to the beginning of the list of files in the tag table."
  1373.   t)
  1374.  
  1375. (autoload 'tags-apropos "tags"
  1376.   "\
  1377. Display list of all tags in tag table REGEXP matches."
  1378.   t)
  1379.  
  1380. (define-key esc-map "," 'tags-loop-continue)
  1381. (autoload 'tags-loop-continue "tags"
  1382.   "\
  1383. Continue last \\[tags-search] or \\[tags-query-replace] command.
  1384. Used noninteractively with non-nil argument
  1385. to begin such a command.  See variable tags-loop-form."
  1386.   t)
  1387.  
  1388. (autoload 'tag-table-files "tags"
  1389.   "\
  1390. Return a list of files in the current tag table.
  1391. File names returned are absolute.")
  1392.  
  1393. (autoload 'tags-query-replace "tags"
  1394.   "\
  1395. Query-replace-regexp FROM with TO through all files listed in tag table.
  1396. Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
  1397. If you exit (C-G or ESC), you can resume the query-replace
  1398. with the command \\[tags-loop-continue].
  1399.  
  1400. See documentation of variable tags-file-name."
  1401.   t)
  1402.  
  1403. (autoload 'tags-search "tags"
  1404.   "\
  1405. Search through all files listed in tag table for match for REGEXP.
  1406. Stops when a match is found.
  1407. To continue searching for next match, use command \\[tags-loop-continue].
  1408.  
  1409. See documentation of variable tags-file-name."
  1410.   t)
  1411.  
  1412. (autoload 'visit-tags-table "tags"
  1413.   "\
  1414. Tell tags commands to use tag table file FILE.
  1415. FILE should be the name of a file created with the `etags' program.
  1416. A directory name is ok too; it means file TAGS in that directory."
  1417.   t)
  1418.  
  1419. (autoload 'telnet "telnet"
  1420.   "\
  1421. Open a network login connection to host named HOST (a string).
  1422. Communication with HOST is recorded in a buffer *HOST-telnet*.
  1423. Normally input is edited in Emacs and sent a line at a time."
  1424.   t)
  1425.  
  1426. (autoload 'terminal-emulator "terminal"
  1427.   "\
  1428. Under a display-terminal emulator in BUFFER, run PROGRAM on arguments ARGS.
  1429. ARGS is a list of argument-strings.  Remaining arguments are WIDTH and HEIGHT.
  1430. BUFFER's contents are made an image of the display generated by that program,
  1431. and any input typed when BUFFER is the current Emacs buffer is sent to that
  1432. program an keyboard input.
  1433.  
  1434. Interactively, BUFFER defaults to \"*terminal*\" and PROGRAM and ARGS
  1435. are parsed from an input-string using your usual shell.
  1436. WIDTH and HEIGHT are determined from the size of the current window
  1437. -- WIDTH will be one less than the window's width, HEIGHT will be its height.
  1438.  
  1439. To switch buffers and leave the emulator, or to give commands
  1440. to the emulator itself (as opposed to the program running under it),
  1441. type Control-^.  The following character is an emulator command.
  1442. Type Control-^ twice to send it to the subprogram.
  1443. This escape character may be changed using the variable `terminal-escape-char'.
  1444.  
  1445. `Meta' characters may not currently be sent through the terminal emulator.
  1446.  
  1447. Here is a list of some of the variables which control the behaviour
  1448. of the emulator -- see their documentation for more information:
  1449. terminal-escape-char, terminal-scrolling, terminal-more-processing,
  1450. terminal-redisplay-interval.
  1451.  
  1452. This function calls the value of terminal-mode-hook if that exists
  1453. and is non-nil after the terminal buffer has been set up and the
  1454. subprocess started.
  1455.  
  1456. Presently with `termcap' only; if somebody sends us code to make this
  1457. work with `terminfo' we will try to use it."
  1458.   t)
  1459.  
  1460. (autoload 'latex-mode "tex-mode"
  1461.   "\
  1462. Major mode for editing files of input for LaTeX.
  1463. Makes $ and } display the characters they match.
  1464. Makes \" insert `` when it seems to be the beginning of a quotation,
  1465. and '' when it appears to be the end; it inserts \" only after a \\.
  1466.  
  1467. Use \\[TeX-region] to run LaTeX on the current region, plus the preamble
  1468. copied from the top of the file (containing \\documentstyle, etc.),
  1469. running LaTeX under a special subshell.  \\[TeX-buffer] does the whole buffer.
  1470. \\[TeX-print] prints the .dvi file made by either of these.
  1471.  
  1472. Use \\[validate-TeX-buffer] to check buffer for paragraphs containing
  1473. mismatched $'s or braces.
  1474.  
  1475. Special commands:
  1476. \\{TeX-mode-map}
  1477.  
  1478. Mode variables:
  1479. TeX-directory
  1480.     Directory in which to create temporary files for TeX jobs
  1481.     run by \\[TeX-region] or \\[TeX-buffer].
  1482. TeX-dvi-print-command
  1483.     Command string used by \\[TeX-print] to print a .dvi file.
  1484. TeX-show-queue-command
  1485.     Command string used by \\[TeX-show-print-queue] to show the print
  1486.     queue that \\[TeX-print] put your job on.
  1487.  
  1488. Entering LaTeX mode calls the value of text-mode-hook,
  1489. then the value of TeX-mode-hook, and then the value
  1490. of LaTeX-mode-hook."
  1491.   t)
  1492.  
  1493. (autoload 'plain-tex-mode "tex-mode"
  1494.   "\
  1495. Major mode for editing files of input for plain TeX.
  1496. Makes $ and } display the characters they match.
  1497. Makes \" insert `` when it seems to be the beginning of a quotation,
  1498. and '' when it appears to be the end; it inserts \" only after a \\.
  1499.  
  1500. Use \\[TeX-region] to run TeX on the current region, plus a \"header\"
  1501. copied from the top of the file (containing macro definitions, etc.),
  1502. running TeX under a special subshell.  \\[TeX-buffer] does the whole buffer.
  1503. \\[TeX-print] prints the .dvi file made by either of these.
  1504.  
  1505. Use \\[validate-TeX-buffer] to check buffer for paragraphs containing
  1506. mismatched $'s or braces.
  1507.  
  1508. Special commands:
  1509. \\{TeX-mode-map}
  1510.  
  1511. Mode variables:
  1512. TeX-directory
  1513.     Directory in which to create temporary files for TeX jobs
  1514.     run by \\[TeX-region] or \\[TeX-buffer].
  1515. TeX-dvi-print-command
  1516.     Command string used by \\[TeX-print] to print a .dvi file.
  1517. TeX-show-queue-command
  1518.     Command string used by \\[TeX-show-print-queue] to show the print
  1519.     queue that \\[TeX-print] put your job on.
  1520.  
  1521. Entering plain-TeX mode calls the value of text-mode-hook,
  1522. then the value of TeX-mode-hook, and then the value
  1523. of plain-TeX-mode-hook."
  1524.   t)
  1525.  
  1526. (autoload 'tex-mode "tex-mode"
  1527.   "\
  1528. Major mode for editing files of input for TeX or LaTeX.
  1529. Trys to intuit whether this file is for plain TeX or LaTeX and
  1530. calls plain-tex-mode or latex-mode.  If it cannot be determined
  1531. (e.g., there are no commands in the file), the value of
  1532. TeX-default-mode is used."
  1533.   t)
  1534.  
  1535. (fset 'TeX-mode 'tex-mode)
  1536. (fset 'plain-TeX-mode 'plain-tex-mode)
  1537. (fset 'LaTeX-mode 'latex-mode)
  1538.  
  1539. (autoload 'texinfo-mode "texinfo"
  1540.   "\
  1541. Major mode for editing texinfo files.
  1542. These are files that are input for TEX and also to be turned
  1543. into Info files by \\[texinfo-format-buffer].
  1544. These files must be written in a very restricted and
  1545. modified version of TEX input format.
  1546.  
  1547. As for editing commands, like text-mode except for syntax table,
  1548. which is set up so expression commands skip texinfo bracket groups."
  1549.   t)
  1550.  
  1551. (autoload 'texinfo-format-buffer "texinfmt"
  1552.   "\
  1553. Process the current buffer as texinfo code, into an Info file.
  1554. The Info file output is generated in a buffer
  1555. visiting the Info file names specified in the @setfilename command.
  1556.  
  1557. Non-nil argument (prefix, if interactive) means don't make tag table
  1558. and don't split the file if large.  You can use Info-tagify and
  1559. Info-split to do these manually."
  1560.   t)
  1561.  
  1562. (autoload 'texinfo-format-region "texinfmt"
  1563.   "\
  1564. Convert the the current region of the Texinfo file to Info format.
  1565. This lets you see what that part of the file will look like in Info.
  1566. The command is bound to \\[texinfo-format-region].  The text that is
  1567. converted to Info is stored in a temporary buffer."
  1568.   t)
  1569.  
  1570. (autoload 'batch-texinfo-format "texinfmt"
  1571.   "\
  1572. Runs  texinfo-format-buffer  on the files remaining on the command line.
  1573. Must be used only with -batch, and kills emacs on completion.
  1574. Each file will be processed even if an error occurred previously.
  1575. For example, invoke
  1576.   \"emacs -batch -funcall batch-texinfo-format $docs/ ~/*.texinfo\"."
  1577.   nil)
  1578.  
  1579. (autoload 'display-time "time"
  1580.   "\
  1581. Display current time and load level in mode line of each buffer.
  1582. Updates automatically every minute.
  1583. If display-time-day-and-date is non-nil, the current day and date
  1584. are displayed as well."
  1585.   t)
  1586.  
  1587. (autoload 'underline-region "underline"
  1588.   "\
  1589. Underline all nonblank characters in the region.
  1590. Works by overstriking underscores.
  1591. Called from program, takes two arguments START and END
  1592. which specify the range to operate on."
  1593.   t)
  1594.  
  1595. (autoload 'ununderline-region "underline"
  1596.   "\
  1597. Remove all underlining (overstruck underscores) in the region.
  1598. Called from program, takes two arguments START and END
  1599. which specify the range to operate on."
  1600.   t)
  1601.  
  1602. (autoload 'ask-user-about-lock "userlock"
  1603.   "\
  1604. Ask user what to do when he wants to edit FILE but it is locked by USER.
  1605. This function has a choice of three things to do:
  1606.   do (signal 'buffer-file-locked (list FILE USER))
  1607.     to refrain from editing the file
  1608.   return t (grab the lock on the file)
  1609.   return nil (edit the file even though it is locked).
  1610. You can rewrite it to use any criterion you like to choose which one to do."
  1611.   nil)
  1612.  
  1613. (autoload 'ask-user-about-supersession-threat "userlock"
  1614.   "\
  1615. Ask a user who is about to modify an obsolete buffer what to do.
  1616. This function has two choices: it can return, in which case the modification
  1617. of the buffer will proceed, or it can (signal 'file-supersession (file)),
  1618. in which case the proposed buffer modification will not be made.
  1619. You can rewrite this to use any criterion you like to choose which one to do."
  1620.   nil)
  1621.  
  1622. (autoload 'vi-mode "vi"
  1623.   "\
  1624. Major mode that acts like the `vi' editor.
  1625. The purpose of this mode is to provide you the combined power of vi (namely,
  1626. the \"cross product\" effect of commands and repeat last changes) and Emacs.
  1627.  
  1628. This command redefines nearly all keys to look like vi commands.
  1629. It records the previous major mode, and any vi command for input
  1630. \(`i', `a', `s', etc.) switches back to that mode.
  1631. Thus, ordinary Emacs (in whatever major mode you had been using)
  1632. is \"input\" mode as far as vi is concerned.
  1633.  
  1634. To get back into vi from \"input\" mode, you must issue this command again.
  1635. Therefore, it is recommended that you assign it to a key.
  1636.  
  1637. Major differences between this mode and real vi :
  1638.  
  1639. * Limitations and unsupported features
  1640.   - Search patterns with line offset (e.g. /pat/+3 or /pat/z.) are
  1641.     not supported.
  1642.   - Ex commands are not implemented; try ':' to get some hints.
  1643.   - No line undo (i.e. the 'U' command), but multi-undo is a standard feature.
  1644.  
  1645. * Modifications
  1646.   - The stopping positions for some point motion commands (word boundary,
  1647.     pattern search) are slightly different from standard 'vi'.
  1648.     Also, no automatic wrap around at end of buffer for pattern searching.
  1649.   - Since changes are done in two steps (deletion then insertion), you need
  1650.     to undo twice to completely undo a change command.  But this is not needed
  1651.     for undoing a repeated change command.
  1652.   - No need to set/unset 'magic', to search for a string with regular expr
  1653.     in it just put a prefix arg for the search commands.  Replace cmds too.
  1654.   - ^R is bound to incremental backward search, so use ^L to redraw screen.
  1655.  
  1656. * Extensions
  1657.   - Some standard (or modified) Emacs commands were integrated, such as
  1658.     incremental search, query replace, transpose objects, and keyboard macros.
  1659.   - In command state, ^X links to the 'ctl-x-map', and ESC can be linked to
  1660.     esc-map or set undefined.  These can give you the full power of Emacs.
  1661.   - See vi-com-map for those keys that are extensions to standard vi, e.g.
  1662.     `vi-name-last-change-or-macro', `vi-verify-spelling', `vi-locate-def',
  1663.     `vi-mark-region', and 'vi-quote-words'.  Some of them are quite handy.
  1664.   - Use \\[vi-switch-mode] to switch among different modes quickly.
  1665.   
  1666. Syntax table and abbrevs while in vi mode remain as they were in Emacs."
  1667.   t)
  1668.  
  1669. (autoload 'view-file "view"
  1670.   "\
  1671. View FILE in View mode, returning to previous buffer when done.
  1672. The usual Emacs commands are not available; instead,
  1673. a special set of commands (mostly letters and punctuation)
  1674. are defined for moving around in the buffer.
  1675. Space scrolls forward, Delete scrolls backward.
  1676. For list of all View commands, type ? or h while viewing.
  1677.  
  1678. Calls the value of  view-hook  if that is non-nil."
  1679.   t)
  1680.  
  1681. (autoload 'view-buffer "view"
  1682.   "\
  1683. View BUFFER in View mode, returning to previous buffer when done.
  1684. The usual Emacs commands are not available; instead,
  1685. a special set of commands (mostly letters and punctuation)
  1686. are defined for moving around in the buffer.
  1687. Space scrolls forward, Delete scrolls backward.
  1688. For list of all View commands, type ? or h while viewing.
  1689.  
  1690. Calls the value of  view-hook  if that is non-nil."
  1691.   t)
  1692.  
  1693. (autoload 'view-mode "view"
  1694.   "\
  1695. Major mode for viewing text but not editing it.
  1696. Letters do not insert themselves.  Instead these commands are provided.
  1697. Most commands take prefix arguments.  Commands dealing with lines
  1698. default to \"scroll size\" lines (initially size of window).
  1699. Search commands default to a repeat count of one.
  1700. M-< or <    move to beginning of buffer.
  1701. M-> or >    move to end of buffer.
  1702. C-v or Space    scroll forward lines.
  1703. M-v or DEL    scroll backward lines.
  1704. CR or LF    scroll forward one line (backward with prefix argument).
  1705. z        like Space except set number of lines for further
  1706.            scrolling commands to scroll by.
  1707. C-u and Digits    provide prefix arguments.  `-' denotes negative argument.
  1708. =        prints the current line number.
  1709. g        goes to line given by prefix argument.
  1710. / or M-C-s    searches forward for regular expression
  1711. \\ or M-C-r    searches backward for regular expression.
  1712. n        searches forward for last regular expression.
  1713. p        searches backward for last regular expression.
  1714. C-@ or .    set the mark.
  1715. x        exchanges point and mark.
  1716. C-s or s    do forward incremental search.
  1717. C-r or r    do reverse incremental search.
  1718. @ or '        return to mark and pops mark ring.
  1719.           Mark ring is pushed at start of every
  1720.           successful search and when jump to line to occurs.
  1721.           The mark is set on jump to buffer start or end.
  1722. ? or h        provide help message (list of commands).
  1723. C-h        provides help (list of commands or description of a command).
  1724. C-n        moves down lines vertically.
  1725. C-p        moves upward lines vertically.
  1726. C-l        recenters the screen.
  1727. q or C-c    exit view-mode and return to previous buffer.
  1728.  
  1729. Entry to this mode calls the value of  view-hook  if non-nil.
  1730. \\{view-mode-map}")
  1731.  
  1732. (autoload 'vip-mode "vip"
  1733.   "\
  1734. Begin emulating the vi editor.  This is distinct from `vi-mode'.
  1735. This emulator has different capabilities from the `vi-mode' emulator.
  1736. See the text at the beginning of the source file .../lisp/vip.el
  1737. in the Emacs distribution."
  1738.   t)
  1739.  
  1740. (autoload 'yow "yow"
  1741.   "\
  1742. Return or display a Zippy quotation" t)
  1743. (autoload 'psychoanalyze-pinhead "yow"
  1744.   "\
  1745. Zippy goes to the analyst." t)
  1746.  
  1747.  
  1748. (define-key esc-map "\C-f" 'forward-sexp)
  1749. (define-key esc-map "\C-b" 'backward-sexp)
  1750. (define-key esc-map "\C-u" 'backward-up-list)
  1751. (define-key esc-map "\C-@" 'mark-sexp)
  1752. (define-key esc-map "\C-d" 'down-list)
  1753. (define-key esc-map "\C-k" 'kill-sexp)
  1754. (define-key esc-map "\C-n" 'forward-list)
  1755. (define-key esc-map "\C-p" 'backward-list)
  1756. (define-key esc-map "\C-a" 'beginning-of-defun)
  1757. (define-key esc-map "\C-e" 'end-of-defun)
  1758. (define-key esc-map "\C-h" 'mark-defun)
  1759. (define-key esc-map "(" 'insert-parentheses)
  1760. (define-key esc-map ")" 'move-past-close-and-reindent)
  1761. (define-key esc-map "\t" 'lisp-complete-symbol)
  1762.  
  1763. (define-key ctl-x-map "\C-e" 'eval-last-sexp)
  1764.  
  1765. (define-key ctl-x-map "/" 'point-to-register)
  1766. (define-key ctl-x-map "j" 'register-to-point)
  1767. (define-key ctl-x-map "x" 'copy-to-register)
  1768. (define-key ctl-x-map "g" 'insert-register)
  1769. (define-key ctl-x-map "r" 'copy-rectangle-to-register)
  1770.  
  1771. (define-key esc-map "q" 'fill-paragraph)
  1772. (define-key esc-map "g" 'fill-region)
  1773. (define-key ctl-x-map "." 'set-fill-prefix)
  1774.  
  1775. (define-key esc-map "[" 'backward-paragraph)
  1776. (define-key esc-map "]" 'forward-paragraph)
  1777. (define-key esc-map "h" 'mark-paragraph)
  1778. (define-key esc-map "a" 'backward-sentence)
  1779. (define-key esc-map "e" 'forward-sentence)
  1780. (define-key esc-map "k" 'kill-sentence)
  1781. (define-key ctl-x-map "\177" 'backward-kill-sentence)
  1782.  
  1783. (define-key ctl-x-map "[" 'backward-page)
  1784. (define-key ctl-x-map "]" 'forward-page)
  1785. (define-key ctl-x-map "\C-p" 'mark-page)
  1786. (put 'narrow-to-region 'disabled t)
  1787. (define-key ctl-x-map "p" 'narrow-to-page)
  1788. (put 'narrow-to-page 'disabled t)
  1789. (define-key ctl-x-map "l" 'count-lines-page)
  1790.  
  1791. (defun isearch-forward ()
  1792.   "\
  1793. Do incremental search forward.
  1794. As you type characters, they add to the search string and are found.
  1795. Type Delete to cancel characters from end of search string.
  1796. Type ESC to exit, leaving point at location found.
  1797. Type C-s to search again forward, C-r to search again backward.
  1798. Type C-w to yank word from buffer onto end of search string and search for it.
  1799. Type C-y to yank rest of line onto end of search string, etc.
  1800. Type C-q to quote control character to search for it.
  1801. Other control and meta characters terminate the search
  1802.  and are then executed normally.
  1803. The above special characters are mostly controlled by parameters;
  1804.  do M-x apropos on search-.*-char to find them.
  1805. C-g while searching or when search has failed
  1806.  cancels input back to what has been found successfully.
  1807. C-g when search is successful aborts and moves point to starting point."
  1808.   (interactive)
  1809.   (isearch t))
  1810.  
  1811. (defun isearch-forward-regexp ()
  1812.   "\
  1813. Do incremental search forward for regular expression.
  1814. Like ordinary incremental search except that your input
  1815. is treated as a regexp.  See \\[isearch-forward] for more info."
  1816.   (interactive)
  1817.   (isearch t t))
  1818.  
  1819. (defun isearch-backward ()
  1820.   "\
  1821. Do incremental search backward.
  1822. See \\[isearch-forward] for more information."
  1823.   (interactive)
  1824.   (isearch nil))
  1825.  
  1826. (defun isearch-backward-regexp ()
  1827.   "\
  1828. Do incremental search backward for regular expression.
  1829. Like ordinary incremental search except that your input
  1830. is treated as a regexp.  See \\[isearch-forward] for more info."
  1831.   (interactive)
  1832.   (isearch nil t))
  1833.  
  1834. (defvar search-last-string "" "\
  1835. Last string search for by a non-regexp search command.
  1836. This does not include direct calls to the primitive search functions,
  1837. and does not include searches that are aborted.")
  1838.  
  1839. (defvar search-last-regexp "" "\
  1840. Last string searched for by a regexp search command.
  1841. This does not include direct calls to the primitive search functions,
  1842. and does not include searches that are aborted.")
  1843.  
  1844. (defconst search-repeat-char ?\C-s "\
  1845. *Character to repeat incremental search forwards.")
  1846. (defconst search-reverse-char ?\C-r "\
  1847. *Character to repeat incremental search backwards.")
  1848. (defconst search-exit-char ?\e "\
  1849. *Character to exit incremental search.")
  1850. (defconst search-delete-char ?\177 "\
  1851. *Character to delete from incremental search string.")
  1852. (defconst search-quote-char ?\C-q "\
  1853. *Character to quote special characters for incremental search.")
  1854. (defconst search-yank-word-char ?\C-w "\
  1855. *Character to pull next word from buffer into search string.")
  1856. (defconst search-yank-line-char ?\C-y "\
  1857. *Character to pull rest of line from buffer into search string.")
  1858. (defconst search-exit-option t "\
  1859. *Non-nil means random control characters terminate incremental search.")
  1860.  
  1861. (defvar search-slow-window-lines 1 "\
  1862. *Number of lines in slow search display windows.
  1863. These are the short windows used during incremental search on slow terminals.
  1864. Negative means put the slow search window at the top (normally it's at bottom)
  1865. and the value is minus the number of lines.")
  1866.  
  1867. (defvar search-slow-speed 1200 "\
  1868. *Highest terminal speed at which to use \"slow\" style incremental search.
  1869. This is the style where a one-line window is created to show the line
  1870. that the search has reached.")
  1871.  
  1872. (autoload 'isearch "isearch")
  1873.  
  1874. (define-key global-map "\C-s" 'isearch-forward)
  1875. (define-key global-map "\C-r" 'isearch-backward)
  1876. (define-key esc-map "\C-s" 'isearch-forward-regexp)
  1877.  
  1878. (defun query-replace (from-string to-string &optional arg)
  1879.   "\
  1880. Replace some occurrences of FROM-STRING with TO-STRING.
  1881. As each match is found, the user must type a character saying
  1882. what to do with it.  For directions, type \\[help-command] at that time.
  1883.  
  1884. Preserves case in each replacement if  case-replace  and  case-fold-search
  1885. are non-nil and FROM-STRING has no uppercase letters.
  1886. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1887. only matches surrounded by word boundaries."
  1888.   (interactive "sQuery replace: \nsQuery replace %s with: \nP")
  1889.   (perform-replace from-string to-string t nil arg)
  1890.   (message "Done"))
  1891.  
  1892. (defun query-replace-regexp (regexp to-string &optional arg)
  1893.   "\
  1894. Replace some things after point matching REGEXP with TO-STRING.
  1895. As each match is found, the user must type a character saying
  1896. what to do with it.  For directions, type \\[help-command] at that time.
  1897.  
  1898. Preserves case in each replacement if  case-replace  and  case-fold-search
  1899. are non-nil and REGEXP has no uppercase letters.
  1900. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1901. only matches surrounded by word boundaries.
  1902. In TO-STRING, \\& means insert what matched REGEXP,
  1903. and \\=\\<n> means insert what matched <n>th \\(...\\) in REGEXP."
  1904.   (interactive "sQuery replace regexp: \nsQuery replace regexp %s with: \nP")
  1905.   (perform-replace regexp to-string t t arg)
  1906.   (message "Done"))
  1907.  
  1908. (defun replace-string (from-string to-string &optional delimited)
  1909.   "\
  1910. Replace occurrences of FROM-STRING with TO-STRING.
  1911. Preserve case in each match if  case-replace  and  case-fold-search
  1912. are non-nil and FROM-STRING has no uppercase letters.
  1913. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1914. only matches surrounded by word boundaries."
  1915.   (interactive "sReplace string: \nsReplace string %s with: \nP")
  1916.   (perform-replace from-string to-string nil nil delimited)
  1917.   (message "Done"))
  1918.  
  1919. (defun replace-regexp (regexp to-string &optional delimited)
  1920.   "\
  1921. Replace things after point matching REGEXP with TO-STRING.
  1922. Preserve case in each match if case-replace and case-fold-search
  1923. are non-nil and REGEXP has no uppercase letters.
  1924. Third arg DELIMITED (prefix arg if interactive) non-nil means replace
  1925. only matches surrounded by word boundaries.
  1926. In TO-STRING, \\& means insert what matched REGEXP,
  1927. and \\=\\<n> means insert what matched <n>th \\(...\\) in REGEXP."
  1928.   (interactive "sReplace regexp: \nsReplace regexp %s with: \nP")
  1929.   (perform-replace regexp to-string nil t delimited)
  1930.   (message "Done"))
  1931.  
  1932. (define-key esc-map "%" 'query-replace)
  1933.  
  1934. (autoload 'perform-replace "replace")
  1935.  
  1936. (define-key ctl-x-map "\C-a" 'add-mode-abbrev)
  1937. (define-key ctl-x-map "\+" 'add-global-abbrev)
  1938. (define-key ctl-x-map "\C-h" 'inverse-add-mode-abbrev)
  1939. (define-key ctl-x-map "\-" 'inverse-add-global-abbrev)
  1940. (define-key esc-map "'" 'abbrev-prefix-mark)
  1941. (define-key ctl-x-map "'" 'expand-abbrev)
  1942.